package com.example.shiro.service;

import com.example.shiro.dto.AddUserDto;
import com.example.shiro.entity.User;

import java.util.Map;
import java.util.Set;

/**
 * @ClassName UserService
 * @Description TODO 用户业务层接口
 * @Version 1.0
 */
public interface UserService {
    /*
     * @Description //TODO 根据id查询用户数据
     * @Params [id]
     * @return com.example.shiro.entity.User
     * @version 1.0
     **/
    User findById(String id);
    /*
     * @Description //TODO 根据id查询用户数据
     * @Params [id]
     * @return com.example.shiro.entity.User
     * @version 1.0
     **/
    User getDetailById(String id);
    /*
     * @Description //TODO 新增用户
     * @Params [addUserDto]
     * @return int
     * @version 1.0
     **/
    int add(AddUserDto addUserDto) throws Exception;
    /*
     * @Description //TODO 利用登录名查询用户的角色
     * @Params [loginName]
     * @return java.util.Set<java.lang.String>
     * @version 1.0
     **/
    Set<String> findRoleCodesByLoginName(String loginName);
    /*
     * @Description //TODO 根据角色编码查询权限信息
     * @Params [roles]
     * @return java.util.Set<java.lang.String>
     * @version 1.0
     **/
    Set<String> findResourceCodesByRoles(Set<String> roles);
    /*
     * @Description //TODO 根据登录名查询用户信息
     * @Params [loginName]
     * @return com.example.shiro.entity.User
     * @version 1.0
     **/
    User findByLoginName(String loginName);
}
